/*!
 * VERSION: beta 1.27
 * DATE: 2012-07-27
 * JavaScript (ActionScript 3 and 2 also available)
 * UPDATES AND DOCS AT: http://www.greensock.com
 *
 * Copyright (c) 2008-2012, GreenSock. All rights reserved. 
 * This work is subject to the terms in http://www.greensock.com/terms_of_use.html or for 
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
(window._gsQueue || (window._gsQueue = [])).push(function () {
    _gsDefine("easing.Back", ["easing.Ease"], function (g) {
        var c = window.com.greensock._class, b = function (a, l) {
            var b = c("easing." + a, function () {
            }, !0), d = b.prototype = new g;
            d.constructor = b;
            d.getRatio = l;
            return b
        }, h = function (a, l) {
            var b = c("easing." + a, function (a) {
                this._p1 = a || 0 === a ? a : 1.70158;
                this._p2 = 1.525 * this._p1
            }, !0), d = b.prototype = new g;
            d.constructor = b;
            d.getRatio = l;
            d.config = function (a) {
                return new b(a)
            };
            return b
        }, n = h("BackOut", function (a) {
            return(a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1
        }), o = h("BackIn", function (a) {
            return a * a * ((this._p1 + 1) * a - this._p1)
        }), h = h("BackInOut", function (a) {
            return 1 > (a *= 2) ? 0.5 * a * a * ((this._p2 + 1) * a - this._p2) : 0.5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2)
        }), p = b("BounceOut", function (a) {
            return a < 1 / 2.75 ? 7.5625 * a * a : a < 2 / 2.75 ? 7.5625 * (a -= 1.5 / 2.75) * a + 0.75 : a < 2.5 / 2.75 ? 7.5625 * (a -= 2.25 / 2.75) * a + 0.9375 : 7.5625 * (a -= 2.625 / 2.75) * a + 0.984375
        }), q = b("BounceIn", function (a) {
            return(a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : a < 2 / 2.75 ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + 0.75) : a < 2.5 / 2.75 ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + 0.9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a + 0.984375)
        }), r = b("BounceInOut", function (a) {
            var b = 0.5 > a, a = b ? 1 - 2 * a : 2 * a - 1, a = a < 1 / 2.75 ? 7.5625 * a * a : a < 2 / 2.75 ? 7.5625 * (a -= 1.5 / 2.75) * a + 0.75 : a < 2.5 / 2.75 ? 7.5625 * (a -= 2.25 / 2.75) * a + 0.9375 : 7.5625 * (a -= 2.625 / 2.75) * a + 0.984375;
            return b ? 0.5 * (1 - a) : 0.5 * a + 0.5
        }), s = b("CircOut", function (a) {
            return Math.sqrt(1 - (a -= 1) * a)
        }), t = b("CircIn", function (a) {
            return-(Math.sqrt(1 - a * a) - 1)
        }), u = b("CircInOut", function (a) {
            return 1 > (a *= 2) ? -0.5 * (Math.sqrt(1 - a * a) - 1) : 0.5 * (Math.sqrt(1 - (a -= 2) * a) + 1)
        }), i = 2 * Math.PI, j = function (a, b, e) {
            var d = c("easing." + a, function (a, b) {
                this._p1 = a || 1;
                this._p2 = b || e;
                this._p3 = this._p2 / i * (Math.asin(1 / this._p1) || 0)
            }, !0), a = d.prototype = new g;
            a.constructor = d;
            a.getRatio = b;
            a.config = function (a, b) {
                return new d(a, b)
            };
            return d
        }, v = j("ElasticOut", function (a) {
            return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * i / this._p2) + 1
        }, 0.3), w = j("ElasticIn", function (a) {
            return-(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2))
        }, 0.3), j = j("ElasticInOut", function (a) {
            return 1 > (a *= 2) ? -0.5 * this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2) : 0.5 * this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * i / this._p2) + 1
        }, 0.45), x = b("ExpoOut", function (a) {
            return 1 - Math.pow(2, -10 * a)
        }), y = b("ExpoIn", function (a) {
            return Math.pow(2, 10 * (a - 1)) - 0.001
        }), z = b("ExpoInOut", function (a) {
            return 1 > (a *= 2) ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (2 - Math.pow(2, -10 * (a - 1)))
        }), m = Math.PI / 2, A = b("SineOut", function (a) {
            return Math.sin(a * m)
        }), B = b("SineIn", function (a) {
            return-Math.cos(a * m) + 1
        }), b = b("SineInOut", function (a) {
            return-0.5 * (Math.cos(Math.PI * a) - 1)
        }), f = c("easing.SlowMo", function (a, b, c) {
            null == a ? a = 0.7 : 1 < a && (a = 1);
            this._p = 1 != a ? b || 0 === b ? b : 0.7 : 0;
            this._p1 = (1 - a) / 2;
            this._p2 = a;
            this._p3 = this._p1 + this._p2;
            this._calcEnd = !0 === c
        }, !0), e = f.prototype = new g;
        e.constructor = f;
        e.getRatio = function (a) {
            var b = a + (0.5 - a) * this._p;
            return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b
        };
        f.ease = new f(0.7, 0.7);
        e.config = f.config = function (a, b, c) {
            return new f(a, b, c)
        };
        var k = c("easing.SteppedEase", function (a) {
            a = a || 1;
            this._p1 = 1 / a;
            this._p2 = a + 1
        }, !0), e = k.prototype = new g;
        e.constructor = k;
        e.getRatio = function (a) {
            0 > a ? a = 0 : 1 <= a && (a = 0.999999999);
            return(this._p2 * a >> 0) * this._p1
        };
        e.config = k.config = function (a) {
            return new k(a)
        };
        c("easing.Bounce", {easeOut: new p, easeIn: new q, easeInOut: new r}, !0);
        c("easing.Circ", {easeOut: new s, easeIn: new t, easeInOut: new u}, !0);
        c("easing.Elastic", {easeOut: new v, easeIn: new w, easeInOut: new j}, !0);
        c("easing.Expo", {easeOut: new x, easeIn: new y, easeInOut: new z}, !0);
        c("easing.Sine", {easeOut: new A, easeIn: new B, easeInOut: new b}, !0);
        return{easeOut: new n, easeIn: new o, easeInOut: new h}
    }, !0)
});
window._gsDefine && _gsQueue.pop()();